Conversation
| return `result of the addition operation ${this.a} + ${this.b} = ${this.wrappee.exec()}`; | ||
| } | ||
| } | ||
|
|
| class Example { | ||
| @decoratorProp | ||
| public email: string = ""; | ||
| } |
src/task_3/index.ts
Outdated
| } | ||
|
|
||
| public register<?>(type: ?) { | ||
| public register(type: Function) { |
There was a problem hiding this comment.
Тут нужно было делать использую generic-типы. не правильно
| selectBoxInstance.setValue("sdfsdf") // компилятор TS не пропускает | ||
| selectBoxInstance.setValue(new SelectItem()) // компилятор TS пропускает | ||
| //selectBoxInstance.setValue("sdfsdf") // компилятор TS не пропускает | ||
| selectBoxInstance.setValue(new SelectItem()) // компилятор TS пропускает No newline at end of file |
There was a problem hiding this comment.
не верная реализация.
Метод register класса FactoryControl позволит зарегистрировать всё что угодно (а надо было только то что унаследовано от класса Control) а значит и не будет проверок компилятором TypeScript на передаваемый тип потому что там используется абстрактное ограничение Function, т.е. любой тип
| const x = { | ||
| m: 12, | ||
| } | ||
|
|
src/task_5/index.ts
Outdated
| * Если поле не заполнено, то генерируется эксепшен. | ||
| */ | ||
| function validate(target: Object, propKey: string): any { | ||
| if (!(propKey in Object.keys(target) && (target as any)[propKey])) { |
There was a problem hiding this comment.
на данный момент это не работает для теста можно использовать
let example = new Example1();
example.propValueExample1 = new ValueExample1();
example.propValueExample1 = new ValueExample2();
Что бы проверить наличие свойства у объекта, можно использовать reflect-metadata или просто создать объект и посмотреть есть ли у него это поле.
|
|
||
| @validate(ValueExample2, "booleanProp") | ||
| public propValueExample2: any; | ||
| } |
There was a problem hiding this comment.
Работает не верно
let example = new Example1();
example.propValueExample1 = new ValueExample1();
example.propValueExample1 = new ValueExample2();
попробуй проверить
There was a problem hiding this comment.
Оооооочень долго не мог понять, почему у меня проходит без проблем тест, который Вы предложили опробовать. Оказывается я определил конструкторы для ValueExample1 и 2, с присвоением значений по умолчанию и поля всегда были проинициализированны. Крч, не туда воевал
|
итого 9 балов |
No description provided.